package com.ruoyi.task.service;

import com.ruoyi.task.domain.CheckResult;
import com.ruoyi.task.domain.RiskDetailInfo;
import com.ruoyi.task.domain.TaskDetailExportResult;
import com.ruoyi.task.domain.TaskDetailResult;
import com.ruoyi.task.domain.TaskDetailResultParams;
import com.ruoyi.task.domain.TaskRiskImage;
import java.util.List;
import java.util.Map;

/**
 * 任务分析结果明细Service接口
 * 
 * @author huangshibao
 * @date 2025-06-18
 */
public interface ITaskDetailResultService 
{
    /**
     * 查询任务分析结果明细
     * 
     * @param priKey 任务分析结果明细主键
     * @return 任务分析结果明细
     */
    public TaskDetailResult selectTaskDetailResultByPriKey(Long priKey);

    /**
     * 查询任务分析结果明细列表
     * 
     * @param taskDetailResult 任务分析结果明细
     * @return 任务分析结果明细集合
     */
    public List<TaskDetailResult> selectTaskDetailResultList(TaskDetailResultParams taskDetailResult);

    /**
     *
     * 导出任务分析结果明细列表
     * @param taskDetailResult
     * @return
     */
    public Map<String, Object> exportTaskDetailResultList(TaskDetailResultParams taskDetailResult);

    /**
     * 查询数量
     * @param taskDetailResult
     * @return
     */
    public int countTaskDetailResultList(TaskDetailResultParams taskDetailResult);


    public List<TaskDetailExportResult> selectTaskDetailExportResult(
            TaskDetailResultParams taskDetailResult);

    /**
     * 新增任务分析结果明细
     * 
     * @param taskDetailResult 任务分析结果明细
     * @return 结果
     */
    public int insertTaskDetailResult(TaskDetailResult taskDetailResult);

    /**
     * 修改任务分析结果明细
     * 
     * @param taskDetailResult 任务分析结果明细
     * @return 结果
     */
    public int updateTaskDetailResult(TaskDetailResult taskDetailResult);

    /**
     * 批量删除任务分析结果明细
     * 
     * @param priKeys 需要删除的任务分析结果明细主键集合
     * @return 结果
     */
    public int deleteTaskDetailResultByPriKeys(Long[] priKeys);

    /**
     * 删除任务分析结果明细信息
     * 
     * @param priKey 任务分析结果明细主键
     * @return 结果
     */
    public int deleteTaskDetailResultByPriKey(Long priKey);

    /**
     * 分行上送场景分析结果数据
     * @param riskDetailInfoList
     * @return
     */
    public boolean sceneCheckResult(List<RiskDetailInfo> riskDetailInfoList);

    /**
     * 风险图片上传
     * @param riskImage
     * @return
     */
    public boolean sceneCheckImage(TaskRiskImage riskImage);

    /**
     * 总行上送场景分析结果数据
     * @param checkResult
     * @return
     */
    public boolean sceneCheckResult(CheckResult checkResult);


    /**
     * 查询风险图片
     * @param id
     * @return
     */
    public List<String> queryRiskImage(String id);
}
